The Session Initiation Protocol (SIP) is an application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. It can be used to create two-party, multiparty, or multicast sessions that includes Internet telephone calls, multimedia distribution, and multimedia conferences. I.e. SIP is a protocol for describing with whom to communicate with. Moreover, SIP is designed to be independent of the underlying transport layer; it can run on e.g. TCP.
The Session Description Protocol (SDP) is a format for describing streaming media initialization parameters, which is further described in RFC 4566. The SDP is intended for describing multimedia session for the purpose of session announcement, session invitation, and other forms of multimedia session initation. SDP can be used in conjunction with e.g. SIP or in a standalone format for describing multicast sessions. The SIP SDP offer answer model is a way of negotiating the media type to be used. Each user includes an SDP field during a setup and the SDP comprises the codec/media type that the user can use, the user's IP address and port number. The IP address and the port number is included in a “connection” (“c”) line. More than one “c” lines may be included in the SDP if the user can communicate via multiple networks such as e.g. both WLAN (Wireless Local Area Network) and 3G.
A user “A” who wants to initiate a session with a user “B” sends a SIP invite to user B. The session can be established when the user B has accepted the invite. The session may include exchange of media or just SDP signalling. The SDP signalling is transmitted according to the SIP and the SDP signalling describes the characteristics of the media to be transmitted. Both parties can update the SDP by sending an update or re-invite with the new SDP.
By using the SDP, packet switched media information can be included in the SIP signaling but SIP and SDP do not provide any possibilities to include circuit switched (CS) media information. It is however desired to include CS media information to be able to also offer CS media in addition to PS media by using SIP and hence being able to utilize the advantages of SIP for CS. By offering both PS media and CS media in an SDP offer, interoperability can be achieved by allowing the receiving party's terminal to choose the best suited media (CS or PS) that it understands. A terminal that does not understand CS should e.g. be able to choose PS.
Some application allows a combination of PS communication and CS communication by setting up a CS call to be used for voice and additionally a PS connection to be used for e.g. exchanging data such as a map or for sharing a whiteboard.